package com.joplus.housekeeper.bean;

import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;

import com.hyphenate.chatuidemo.DemoApplication;
import com.joplus.housekeeper.R;
import com.joplus.housekeeper.core.BaseOrderType;
import com.joplus.housekeeper.core.OrderStatus;
import com.joplus.housekeeper.utils.DensityUtils;
import com.joplus.housekeeper.utils.StringUtils;

import java.text.DecimalFormat;
import java.util.List;

/**
 * Created by bianxiang on 16/5/9.
 */
public class OrderListBean implements Parcelable {


    private String orderId;
    private String isVip;
    private String accountId;
    private String restId;
    private String id;
    private String orderDate;
    private String eatDate;
    private String bookerName;
    private String bookerSex;
    private String bookerPhone;
    private String orderMoney;
    private String couponMoney;
    private String couponId;
    private String paidMoney;
    private String orderStatus;
    private String paidStatus;
    private String operId;
    private String operName;
    private String memo;
    private String orderPhone;
    private int personNum;
    private String restAddress;
    private String restHotArea;
    private String privateRoom;
    private String minRoomPerson;
    private String restAvgPrice;
    private String restMaxOrderPerson;
    private String openTime;
    private String notice;
    private String opMemo;
    private String isDeal;
    private String vipDate;
    private Other other;
    private String startTime;
    private String endTime;
    private String restName;
    private String date;
    private String time;
    private String orderType;
    private String orderNo;
    private String subShop;
    private String memberId;
    private String serId;
    private String eventName;
    private String eventDatetime;
    private String eventVenue;
    private String address;
    private String eventId;
    private String orderDetailList;
    private String eventTotalNum;
    private String eventAddress;
    private String userAddress;
    private String storedId;
    private String buyWay;
    private String orderPic;
    private String freeShopAddress;//免费体验商店地址
    private String freeShopName;//免费体验商店名称
    private String freeShopId;//免费体验的Id
    private String paidDate;//支付时间
    private String remindTime;//提醒时间（这里是卡片传到卡片支付页用的）
    private String title;//免费体验的标题[]中间的
    private String name;//免费体验的名称  1.7.7 包包名称公用
    private String lifeMenuName;//餐厅的套餐名
    private String deliveryManName;//快递员姓名
    private String deliveryManMobile;//快递员手机号
    private String linquSendName;//邻趣发货人名称
    private String linquSendPhone;//邻趣发货人手机号
    private String linquSendAddress;//邻趣发货人地址
    private String linquReceiverName;//邻趣收货人名称
    private String linquReceiverPhone;//邻趣收货人手机号
    private String linquReceiverAddress;//邻趣收货人地址
    private String senderCode;//取货码
    private String deliverTime;//送达时间，用户下单指定的送达时间
    private String linquGoodInfo;//邻趣订单商品信息描述
    private String deposit;//定金
    private String offlineMoney;//线下支付金额
    private String bagCurrency;//包包币

    private String num;//数量
    private String needAddress;
    private String description;
    private String briefIntroduce;

    private List<String> giftList;
    private String price;

    private String onlineMoney;
    private String serviceFee;
    private OrderRefund orderRefund;
    private boolean disney;
    private String licensePlateNumber;
    private String disneyBookingService;
    private OrderHotelBean orderDetail;


    private StoredOrderDetail storedOrderDetail;//包包订单详情
    private CharterFlightOrder charterFlightOrder;//私人包机
    private EducationOrder educationOrder;//
    private MaternityCareOrder maternityCareOrder;//
    private InfantCareOrder infantCareOrder;//
    private DoctorOrder doctorOrder;
    private AirportServiceOrder airportServiceOrder;


    private List<EventTypeLabelList> eventTypeLabelList;//活动票型
    private List<OrderRelationListBean> orderRelationList;//订单状态列表
    private List<EducationBackgroundOrderList> educationBackgroundOrderList;//教育
    private List<EducationFamliyOrderList> educationFamliyOrderList;//教育


    private String serOriginal;//商品原价
    private String serPrice;//商品现价
    private String chargeOriginal;//服务原价
    private String serCharge;//服务现价
    private String subtitle;//服务现价

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

    public OrderHotelBean getOrderDetail() {
        return orderDetail;
    }

    public void setOrderDetail(OrderHotelBean orderDetail) {
        this.orderDetail = orderDetail;
    }

    public boolean getDisney() {
        return disney;
    }

    public void setDisney(boolean disney) {
        this.disney = disney;
    }

    public String getLicensePlateNumber() {
        return licensePlateNumber;
    }

    public void setLicensePlateNumber(String licensePlateNumber) {
        this.licensePlateNumber = licensePlateNumber;
    }

    public String getDisneyBookingService() {
        return disneyBookingService;
    }

    public void setDisneyBookingService(String disneyBookingService) {
        this.disneyBookingService = disneyBookingService;
    }

    public String getServiceFee() {
        return serviceFee;
    }

    public void setServiceFee(String serviceFee) {
        this.serviceFee = serviceFee;
    }

    public String getBriefIntroduce() {
        return briefIntroduce;
    }

    public void setBriefIntroduce(String briefIntroduce) {
        this.briefIntroduce = briefIntroduce;
    }

    public String getOnlineMoney() {
        return onlineMoney;
    }

    public void setOnlineMoney(String onlineMoney) {
        this.onlineMoney = onlineMoney;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<String> getGiftList() {
        return giftList;
    }

    public void setGiftList(List<String> giftList) {
        this.giftList = giftList;
    }

    public String getNeedAddress() {
        return needAddress;
    }

    public void setNeedAddress(String needAddress) {
        this.needAddress = needAddress;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }


    public String getBagCurrency() {
        return bagCurrency;
    }

    public void setBagCurrency(String bagCurrency) {
        this.bagCurrency = bagCurrency;
    }

    public String getOfflineMoney() {
        return offlineMoney;
    }

    public void setOfflineMoney(String offlineMoney) {
        this.offlineMoney = offlineMoney;
    }

    public String getDeposit() {
        return deposit;
    }

    public void setDeposit(String deposit) {
        this.deposit = deposit;
    }


    public AirportServiceOrder getAirportServiceOrder() {
        return airportServiceOrder;
    }

    public void setAirportServiceOrder(AirportServiceOrder airportServiceOrder) {
        this.airportServiceOrder = airportServiceOrder;
    }

    public DoctorOrder getDoctorOrder() {
        return doctorOrder;
    }

    public void setDoctorOrder(DoctorOrder doctorOrder) {
        this.doctorOrder = doctorOrder;
    }

    public InfantCareOrder getInfantCareOrder() {
        return infantCareOrder;
    }

    public void setInfantCareOrder(InfantCareOrder infantCareOrder) {
        this.infantCareOrder = infantCareOrder;
    }

    public MaternityCareOrder getMaternityCareOrder() {
        return maternityCareOrder;
    }

    public void setMaternityCareOrder(MaternityCareOrder maternityCareOrder) {
        this.maternityCareOrder = maternityCareOrder;
    }

    public EducationOrder getEducationOrder() {
        return educationOrder;
    }

    public void setEducationOrder(EducationOrder educationOrder) {
        this.educationOrder = educationOrder;
    }

    public String getDeliveryManName() {
        return deliveryManName;
    }

    public void setDeliveryManName(String deliveryManName) {
        this.deliveryManName = deliveryManName;
    }

    public CharterFlightOrder getCharterFlightOrder() {
        return charterFlightOrder;
    }

    public void setCharterFlightOrder(CharterFlightOrder charterFlightOrder) {
        this.charterFlightOrder = charterFlightOrder;
    }

    public StoredOrderDetail getStoredOrderDetail() {
        return storedOrderDetail;
    }

    public void setStoredOrderDetail(StoredOrderDetail storedOrderDetail) {
        this.storedOrderDetail = storedOrderDetail;
    }

    public String getDeliveryManMobile() {
        return deliveryManMobile;
    }

    public void setDeliveryManMobile(String deliveryManMobile) {
        this.deliveryManMobile = deliveryManMobile;
    }

    public String getLinquSendName() {
        return linquSendName;
    }

    public void setLinquSendName(String linquSendName) {
        this.linquSendName = linquSendName;
    }

    public String getLinquSendPhone() {
        return linquSendPhone;
    }

    public void setLinquSendPhone(String linquSendPhone) {
        this.linquSendPhone = linquSendPhone;
    }

    public String getLinquSendAddress() {
        return linquSendAddress;
    }

    public void setLinquSendAddress(String linquSendAddress) {
        this.linquSendAddress = linquSendAddress;
    }

    public String getLinquReceiverName() {
        return linquReceiverName;
    }

    public void setLinquReceiverName(String linquReceiverName) {
        this.linquReceiverName = linquReceiverName;
    }

    public String getLinquReceiverPhone() {
        return linquReceiverPhone;
    }

    public void setLinquReceiverPhone(String linquReceiverPhone) {
        this.linquReceiverPhone = linquReceiverPhone;
    }

    public String getLinquReceiverAddress() {
        return linquReceiverAddress;
    }

    public void setLinquReceiverAddress(String linquReceiverAddress) {
        this.linquReceiverAddress = linquReceiverAddress;
    }

    public String getSenderCode() {
        return senderCode;
    }

    public void setSenderCode(String senderCode) {
        this.senderCode = senderCode;
    }

    public String getDeliverTime() {
        return deliverTime;
    }

    public void setDeliverTime(String deliverTime) {
        this.deliverTime = deliverTime;
    }

    public String getLinquGoodInfo() {
        return linquGoodInfo;
    }

    public void setLinquGoodInfo(String linquGoodInfo) {
        this.linquGoodInfo = linquGoodInfo;
    }

    public String getLifeMenuName() {
        return lifeMenuName;
    }

    public void setLifeMenuName(String lifeMenuName) {
        this.lifeMenuName = lifeMenuName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRemindTime() {
        return remindTime;
    }

    public void setRemindTime(String remindTime) {
        this.remindTime = remindTime;
    }

    public String getPaidDate() {
        return paidDate;
    }

    public void setPaidDate(String paidDate) {
        this.paidDate = paidDate;
    }

    public String getFreeShopId() {
        return freeShopId;
    }

    public void setFreeShopId(String freeShopId) {
        this.freeShopId = freeShopId;
    }

    public String getFreeShopAddress() {
        return freeShopAddress;
    }

    public void setFreeShopAddress(String freeShopAddress) {
        this.freeShopAddress = freeShopAddress;
    }

    public String getFreeShopName() {
        return freeShopName;
    }

    public void setFreeShopName(String freeShopName) {
        this.freeShopName = freeShopName;
    }


    public List<EducationFamliyOrderList> getEducationFamliyOrderList() {
        return educationFamliyOrderList;
    }

    public void setEducationFamliyOrderList(List<EducationFamliyOrderList> educationFamliyOrderList) {
        this.educationFamliyOrderList = educationFamliyOrderList;
    }

    public List<EducationBackgroundOrderList> getEducationBackgroundOrderList() {
        return educationBackgroundOrderList;
    }

    public void setEducationBackgroundOrderList(List<EducationBackgroundOrderList> educationBackgroundOrderList) {
        this.educationBackgroundOrderList = educationBackgroundOrderList;
    }

    public List<OrderRelationListBean> getOrderRelationList() {
        return orderRelationList;
    }

    public void setOrderRelationList(List<OrderRelationListBean> orderRelationListBean) {
        this.orderRelationList = orderRelationListBean;
    }

    public static Creator<OrderListBean> getCREATOR() {
        return CREATOR;
    }

    public List<EventTypeLabelList> getEventTypeLabelList() {
        return eventTypeLabelList;
    }

    public void setEventTypeLabelList(List<EventTypeLabelList> eventTypeLabelList) {
        this.eventTypeLabelList = eventTypeLabelList;
    }

    public String getOrderPic() {
        return orderPic;
    }

    public void setOrderPic(String orderPic) {
        this.orderPic = orderPic;
    }

    public String getBuyWay() {
        return buyWay;
    }

    public void setBuyWay(String buyWay) {
        this.buyWay = buyWay;
    }

    public String getStoredId() {
        return storedId;
    }

    public void setStoredId(String storedId) {
        this.storedId = storedId;
    }

    public String getEventName() {
        return eventName;
    }

    public void setEventName(String eventName) {
        this.eventName = eventName;
    }

    public String getUserAddress() {
        return userAddress;
    }

    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }

    private List<OrderDetailEntity> orderDetailEntityList;


    public String getEventAddress() {
        return eventAddress;
    }

    public void setEventAddress(String eventAddress) {
        this.eventAddress = eventAddress;
    }

    public String getEventDatetime() {
        return eventDatetime;
    }

    public void setEventDatetime(String eventDatetime) {
        this.eventDatetime = eventDatetime;
    }

    public String getEventVenue() {
        return eventVenue;
    }

    public void setEventVenue(String eventVenue) {
        this.eventVenue = eventVenue;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEventId() {
        return eventId;
    }

    public void setEventId(String eventId) {
        this.eventId = eventId;
    }

    public String getOrderDetailList() {
        return orderDetailList;
    }

    public void setOrderDetailList(String orderDetailList) {
        this.orderDetailList = orderDetailList;
    }

    public String getEventTotalNum() {
        return eventTotalNum;
    }

    public void setEventTotalNum(String eventTotalNum) {
        this.eventTotalNum = eventTotalNum;
    }


    public String getEventname() {
        return eventName;
    }

    public void setEventname(String eventName) {
        this.eventName = eventName;
    }


    public List<OrderDetailEntity> getOrderDetailEntityList() {
        return orderDetailEntityList;
    }

    public void setOrderDetailEntityList(List<OrderDetailEntity> orderDetailEntityList) {
        this.orderDetailEntityList = orderDetailEntityList;
    }

    public String getSerId() {
        return serId;
    }

    public void setSerId(String serId) {
        this.serId = serId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }


    /**
     * 获取商品原价
     *
     * @return
     */
    public String getSerOriginal() {
        return serOriginal;
    }

    /**
     * 获取服务原价
     *
     * @return
     */
    public String getChargeOriginal() {
        return chargeOriginal;
    }

    /**
     * 获取商品现价
     *
     * @return
     */
    public String getSerPrice() {
        return serPrice;
    }

    /**
     * 获取服务现价
     *
     * @return
     */
    public String getSerCharge() {
        return serCharge;
    }

    /**
     * @param serOriginal //商品原价
     */
    public void setSerOriginal(String serOriginal) {
        this.serOriginal = serOriginal;
    }

    /**
     * @param serPrice //商品现价
     */
    public void setSerPrice(String serPrice) {
        this.serPrice = serPrice;
    }

    /**
     * @param chargeOriginal //服务原价
     */
    public void setChargeOriginal(String chargeOriginal) {
        this.chargeOriginal = chargeOriginal;
    }

    /**
     * @param serCharge //服务现价
     */
    public void setSerCharge(String serCharge) {
        this.serCharge = serCharge;
    }


    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getIsVip() {
        return isVip;
    }

    public void setIsVip(String isVip) {
        this.isVip = isVip;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getRestId() {
        return restId;
    }

    public void setRestId(String restId) {
        this.restId = restId;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(String orderDate) {
        this.orderDate = orderDate;
    }

    public String getEatDate() {
        return eatDate;
    }

    public void setEatDate(String eatDate) {
        this.eatDate = eatDate;
    }

    public String getBookerName() {
        return bookerName;
    }

    public void setBookerName(String bookerName) {
        this.bookerName = bookerName;
    }

    public String getBookerSex() {
        return bookerSex;
    }

    public void setBookerSex(String bookerSex) {
        this.bookerSex = bookerSex;
    }

    public String getBookerPhone() {
        return bookerPhone;
    }

    public void setBookerPhone(String bookerPhone) {
        this.bookerPhone = bookerPhone;
    }

    public String getOrderMoney() {
        return orderMoney;
    }

    public void setOrderMoney(String orderMoney) {
        this.orderMoney = orderMoney;
    }

    public String getCouponMoney() {
        return couponMoney;
    }

    public void setCouponMoney(String couponMoney) {
        this.couponMoney = couponMoney;
    }

    public String getCouponId() {
        return couponId;
    }

    public void setCouponId(String couponId) {
        this.couponId = couponId;
    }

    public String getPaidMoney() {
        return paidMoney;
    }

    public void setPaidMoney(String paidMoney) {
        this.paidMoney = paidMoney;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getPaidStatus() {
        return paidStatus;
    }

    public void setPaidStatus(String paidStatus) {
        this.paidStatus = paidStatus;
    }

    public String getOperId() {
        return operId;
    }

    public void setOperId(String operId) {
        this.operId = operId;
    }

    public String getOperName() {
        return operName;
    }

    public void setOperName(String operName) {
        this.operName = operName;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getOrderPhone() {
        return orderPhone;
    }

    public void setOrderPhone(String orderPhone) {
        this.orderPhone = orderPhone;
    }

    public int getPersonNum() {
        return personNum;
    }

    public void setPersonNum(int personNum) {
        this.personNum = personNum;
    }

    public String getRestAddress() {
        return restAddress;
    }

    public void setRestAddress(String restAddress) {
        this.restAddress = restAddress;
    }

    public String getRestHotArea() {
        return restHotArea;
    }

    public void setRestHotArea(String restHotArea) {
        this.restHotArea = restHotArea;
    }

    public String getPrivateRoom() {
        return privateRoom;
    }

    public void setPrivateRoom(String privateRoom) {
        this.privateRoom = privateRoom;
    }

    public String getMinRoomPerson() {
        return minRoomPerson;
    }

    public void setMinRoomPerson(String minRoomPerson) {
        this.minRoomPerson = minRoomPerson;
    }

    public String getRestAvgPrice() {
        return restAvgPrice;
    }

    public void setRestAvgPrice(String restAvgPrice) {
        this.restAvgPrice = restAvgPrice;
    }

    public String getRestMaxOrderPerson() {
        return restMaxOrderPerson;
    }

    public void setRestMaxOrderPerson(String restMaxOrderPerson) {
        this.restMaxOrderPerson = restMaxOrderPerson;
    }

    public String getOpenTime() {
        return openTime;
    }

    public void setOpenTime(String openTime) {
        this.openTime = openTime;
    }

    public String getNotice() {
        return notice;
    }

    public void setNotice(String notice) {
        this.notice = notice;
    }

    public String getOpMemo() {
        return opMemo;
    }

    public void setOpMemo(String opMemo) {
        this.opMemo = opMemo;
    }

    public String getIsDeal() {
        return isDeal;
    }

    public void setIsDeal(String isDeal) {
        this.isDeal = isDeal;
    }

    public String getVipDate() {
        return vipDate;
    }

    public void setVipDate(String vipDate) {
        this.vipDate = vipDate;
    }

    public Other getOther() {
        return other;
    }

    public void setOther(Other other) {
        this.other = other;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getRestName() {
        return restName;
    }

    public void setRestName(String restName) {
        this.restName = restName;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }


    public String getSubShop() {
        return subShop;
    }

    public void setSubShop(String subShop) {
        this.subShop = subShop;
    }

    public OrderRefund getOrderRefund() {
        return orderRefund;
    }

    public void setOrderRefund(OrderRefund orderRefund) {
        this.orderRefund = orderRefund;
    }


    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.orderId);
        dest.writeString(this.isVip);
        dest.writeString(this.accountId);
        dest.writeString(this.restId);
        dest.writeString(this.id);
        dest.writeString(this.orderDate);
        dest.writeString(this.eatDate);
        dest.writeString(this.bookerName);
        dest.writeString(this.bookerSex);
        dest.writeString(this.bookerPhone);
        dest.writeString(this.orderMoney);
        dest.writeString(this.couponMoney);
        dest.writeString(this.couponId);
        dest.writeString(this.paidMoney);
        dest.writeString(this.orderStatus);
        dest.writeString(this.paidStatus);
        dest.writeString(this.operId);
        dest.writeString(this.operName);
        dest.writeString(this.memo);
        dest.writeString(this.orderPhone);
        dest.writeInt(this.personNum);
        dest.writeString(this.restAddress);
        dest.writeString(this.restHotArea);
        dest.writeString(this.privateRoom);
        dest.writeString(this.minRoomPerson);
        dest.writeString(this.restAvgPrice);
        dest.writeString(this.restMaxOrderPerson);
        dest.writeString(this.openTime);
        dest.writeString(this.notice);
        dest.writeString(this.opMemo);
        dest.writeString(this.isDeal);
        dest.writeString(this.vipDate);
        dest.writeParcelable(this.other, flags);
        dest.writeParcelable(this.storedOrderDetail, flags);
        dest.writeParcelable(this.charterFlightOrder, flags);
        dest.writeParcelable(this.educationOrder, flags);
        dest.writeParcelable(this.maternityCareOrder, flags);
        dest.writeParcelable(this.infantCareOrder, flags);
        dest.writeParcelable(this.doctorOrder, flags);
        dest.writeParcelable(this.airportServiceOrder, flags);
        dest.writeString(this.startTime);
        dest.writeString(this.endTime);
        dest.writeString(this.restName);
        dest.writeString(this.date);
        dest.writeString(this.time);
        dest.writeString(this.orderType);
        dest.writeString(this.orderNo);
        dest.writeString(this.subShop);
        dest.writeString(this.memberId);
        dest.writeString(this.serId);
        dest.writeString(this.eventName);
        dest.writeString(this.eventDatetime);
        dest.writeString(this.eventVenue);
        dest.writeString(this.address);
        dest.writeString(this.eventId);
        dest.writeString(this.orderDetailList);
        dest.writeString(this.eventTotalNum);
        dest.writeString(this.eventAddress);
        dest.writeTypedList(this.orderDetailEntityList);
        dest.writeString(this.serOriginal);
        dest.writeString(this.serPrice);
        dest.writeString(this.chargeOriginal);
        dest.writeString(this.serCharge);
        dest.writeString(this.subtitle);
        dest.writeString(this.storedId);
        dest.writeString(this.buyWay);
        dest.writeString(this.orderPic);
        dest.writeTypedList(eventTypeLabelList);
        dest.writeTypedList(educationBackgroundOrderList);
        dest.writeTypedList(educationFamliyOrderList);

        dest.writeString(freeShopAddress);
        dest.writeString(freeShopName);
        dest.writeString(freeShopId);
        dest.writeString(paidDate);
        dest.writeString(remindTime);
        dest.writeString(title);
        dest.writeString(name);
        dest.writeString(lifeMenuName);
        dest.writeString(linquGoodInfo);

        dest.writeString(deliveryManName);
        dest.writeString(deliveryManMobile);
        dest.writeString(linquSendName);
        dest.writeString(linquSendPhone);
        dest.writeString(linquSendAddress);
        dest.writeString(linquReceiverName);
        dest.writeString(linquReceiverPhone);
        dest.writeString(linquReceiverAddress);
        dest.writeString(senderCode);
        dest.writeString(deliverTime);
        dest.writeString(deposit);
        dest.writeString(offlineMoney);
        dest.writeString(bagCurrency);

        dest.writeString(num);
        dest.writeString(needAddress);
        dest.writeString(description);
        dest.writeString(briefIntroduce);

        dest.writeList(giftList);
        dest.writeString(price);
        dest.writeString(onlineMoney);
        dest.writeString(serviceFee);
        dest.writeParcelable(this.orderRefund, flags);
        dest.writeByte((byte) (disney ? 1 : 0));

        dest.writeString(licensePlateNumber);
        dest.writeString(disneyBookingService);
        dest.writeParcelable(this.orderDetail, flags);


    }

    public OrderListBean() {
    }

    protected OrderListBean(Parcel in) {
        this.orderId = in.readString();
        this.isVip = in.readString();
        this.accountId = in.readString();
        this.restId = in.readString();
        this.id = in.readString();
        this.orderDate = in.readString();
        this.eatDate = in.readString();
        this.bookerName = in.readString();
        this.bookerSex = in.readString();
        this.bookerPhone = in.readString();
        this.orderMoney = in.readString();
        this.couponMoney = in.readString();
        this.couponId = in.readString();
        this.paidMoney = in.readString();
        this.orderStatus = in.readString();
        this.paidStatus = in.readString();
        this.operId = in.readString();
        this.operName = in.readString();
        this.memo = in.readString();
        this.orderPhone = in.readString();
        this.personNum = in.readInt();
        this.restAddress = in.readString();
        this.restHotArea = in.readString();
        this.privateRoom = in.readString();
        this.minRoomPerson = in.readString();
        this.restAvgPrice = in.readString();
        this.restMaxOrderPerson = in.readString();
        this.openTime = in.readString();
        this.notice = in.readString();
        this.opMemo = in.readString();
        this.isDeal = in.readString();
        this.vipDate = in.readString();
        this.other = in.readParcelable(Other.class.getClassLoader());
        this.storedOrderDetail = in.readParcelable(StoredOrderDetail.class.getClassLoader());
        this.charterFlightOrder = in.readParcelable(CharterFlightOrder.class.getClassLoader());
        this.educationOrder = in.readParcelable(EducationOrder.class.getClassLoader());
        this.maternityCareOrder = in.readParcelable(MaternityCareOrder.class.getClassLoader());
        this.infantCareOrder = in.readParcelable(InfantCareOrder.class.getClassLoader());
        this.doctorOrder = in.readParcelable(DoctorOrder.class.getClassLoader());
        this.airportServiceOrder = in.readParcelable(AirportServiceOrder.class.getClassLoader());
        this.startTime = in.readString();
        this.endTime = in.readString();
        this.restName = in.readString();
        this.date = in.readString();
        this.time = in.readString();
        this.orderType = in.readString();
        this.orderNo = in.readString();
        this.subShop = in.readString();
        this.memberId = in.readString();
        this.serId = in.readString();
        this.eventName = in.readString();
        this.eventDatetime = in.readString();
        this.eventVenue = in.readString();
        this.address = in.readString();
        this.eventId = in.readString();
        this.orderDetailList = in.readString();
        this.eventTotalNum = in.readString();
        this.eventAddress = in.readString();
        this.orderDetailEntityList = in.createTypedArrayList(OrderDetailEntity.CREATOR);
        this.serOriginal = in.readString();
        this.serPrice = in.readString();
        this.chargeOriginal = in.readString();
        this.serCharge = in.readString();
        this.subtitle = in.readString();
        this.storedId = in.readString();
        this.buyWay = in.readString();
        this.orderPic = in.readString();
        this.eventTypeLabelList = in.createTypedArrayList(EventTypeLabelList.CREATOR);
        this.educationBackgroundOrderList = in.createTypedArrayList(EducationBackgroundOrderList.CREATOR);
        this.educationFamliyOrderList = in.createTypedArrayList(EducationFamliyOrderList.CREATOR);

        this.freeShopAddress = in.readString();
        this.freeShopName = in.readString();
        this.freeShopId = in.readString();
        this.paidDate = in.readString();
        this.remindTime = in.readString();
        this.title = in.readString();
        this.name = in.readString();
        this.lifeMenuName = in.readString();
        linquGoodInfo = in.readString();

        deliveryManName = in.readString();
        deliveryManMobile = in.readString();
        linquSendName = in.readString();
        linquSendPhone = in.readString();
        linquSendAddress = in.readString();
        linquReceiverName = in.readString();
        linquReceiverPhone = in.readString();
        linquReceiverAddress = in.readString();
        senderCode = in.readString();
        deliverTime = in.readString();
        deposit = in.readString();
        offlineMoney = in.readString();
        bagCurrency = in.readString();
        num = in.readString();
        needAddress = in.readString();
        description = in.readString();
        briefIntroduce = in.readString();
        giftList = in.createStringArrayList();
        price = in.readString();
        onlineMoney = in.readString();
        serviceFee = in.readString();
        this.orderRefund = in.readParcelable(OrderRefund.class.getClassLoader());
        this.disney = in.readByte() != 0;
        licensePlateNumber = in.readString();
        disneyBookingService = in.readString();
        this.orderDetail = in.readParcelable(OrderHotelBean.class.getClassLoader());


    }

    public static final Creator<OrderListBean> CREATOR = new Creator<OrderListBean>() {
        @Override
        public OrderListBean createFromParcel(Parcel source) {
            return new OrderListBean(source);
        }

        @Override
        public OrderListBean[] newArray(int size) {
            return new OrderListBean[size];
        }
    };


    public static class EventTypeLabelList implements Parcelable {
        private String event_num;
        private String label_content;

        public String getEvent_num() {
            return event_num;
        }

        public void setEvent_num(String event_num) {
            this.event_num = event_num;
        }

        public String getLabel_content() {
            return label_content;
        }

        public void setLabel_content(String label_content) {
            this.label_content = label_content;
        }


        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.event_num);
            dest.writeString(this.label_content);
        }

        public EventTypeLabelList() {
        }

        protected EventTypeLabelList(Parcel in) {
            this.event_num = in.readString();
            this.label_content = in.readString();
        }

        public static final Creator<EventTypeLabelList> CREATOR = new Creator<EventTypeLabelList>() {
            @Override
            public EventTypeLabelList createFromParcel(Parcel source) {
                return new EventTypeLabelList(source);
            }

            @Override
            public EventTypeLabelList[] newArray(int size) {
                return new EventTypeLabelList[size];
            }
        };
    }

    /**
     * @return 拼接卡片描述的字符串
     */
    public SpannableStringBuilder getCardDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        List<Other.CardInfoBean> cardInfo = getOther().getCardInfo();
        if (cardInfo != null) {
            for (int i = 0; i < cardInfo.size(); i++) {
                String s = cardInfo.get(i).getValue();
                if (i == 2) {
                    return spb;
                }
                if (i == 0) {
                    spb.append(s);
                    spb.append("\n\n");
                    ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
                    AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(DensityUtils.dip2px(DemoApplication.getInstance(), 14));
                    spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
                    spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
                } else {
                    spb.append(s);
                    spb.append("\n");
                    ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
                    AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(DensityUtils.dip2px(DemoApplication.getInstance(), 13));
                    spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
                    spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
                }

            }
            return spb;
        } else {
            return spb;
        }
    }


    /**
     * 获取活动的描述，这里是用在订单列表的
     *
     * @return
     */
    public SpannableStringBuilder getEventDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = getEventname();
        if (StringUtils.isEmpty(s)) {
            return null;
        }
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        s = "\n" + getOrderDate();
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    public SpannableStringBuilder getHotel(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = getName();
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        s = "\n" + getOrderDate();
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    /**
     * 获取餐厅、生活的描述，这里是用在订单列表的
     *
     * @return
     */
    public SpannableStringBuilder getRestLifeDesc(Context context) {

        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = getRestName();
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        s = "\n" + getOrderDate();
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    /**
     * 获取免费体验描述，这里是用在订单列表的
     *
     * @return
     */
    public SpannableStringBuilder getFreeDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = getFreeShopName();
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        s = "\n" + getOrderDate();
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    /**
     * 获取邻趣描述，这里是用在订单列表的
     *
     * @return
     */
    public SpannableStringBuilder getLinQuDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();

        String s = getLinquGoodInfo() + "";
        if (StringUtils.isEmpty(getLinquGoodInfo())) {
            s = getLinquReceiverAddress();
        }
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        s = "\n" + getOrderDate();
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }


    public SpannableStringBuilder getWineDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();

        String s = getName() + "";

        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        if (!StringUtils.isEmpty(orderMoney) && "0".equals(orderMoney)) {
            s = "\n请耐心等待";
        } else {
            s = "\n";
        }

        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    public SpannableStringBuilder getBagDesc(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = "";
        if (OrderStatus.WAIT_PAY.getTypecode().equals(getOrderStatus())) {
            //代支付
            s = getName();

        } else if (OrderStatus.CANCEL.getTypecode().equals(getOrderStatus())) {
            s = "很遗憾，管家找遍全世界也没有找到";
        } else if (OrderStatus.BAG_FIND.getTypecode().equals(getOrderStatus())) {
            s = "正在为您找包包...";
        } else {
            s = getName();
        }
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        if (OrderStatus.BAG_FIND.getTypecode().equals(getOrderStatus())) {
            s = "\n请耐心等待";
        } else {
            s = "\n";
        }
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }

    public SpannableStringBuilder getPrivateFlight(Context context) {
        SpannableStringBuilder spb = new SpannableStringBuilder();
        String s = " ";

        //代支付
        if (getName() != null) {
            if (StringUtils.isEmpty(getName())) {
                s = "服务器没说";
            } else {
                s = getName();
            }


        } else if (OrderStatus.CANCEL.getTypecode().equals(getOrderStatus())) {
            s = "很遗憾，管家未找到包机";
        } else if (OrderStatus.BAG_FIND.getTypecode().equals(getOrderStatus())) {
            s = "正在为您找包机...";
        } else {
            if (getCharterFlightOrder() != null) {
                if (StringUtils.isEmpty(getCharterFlightOrder().getOrderName())) {
                    s = "服务器没说";
                } else {
                    s = getName();
                }
            } else {
                s = "服务器没说";
            }
        }
        spb.append(s);
        spb.append("\n");
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_03));
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(14, true);
        spb.setSpan(foregroundColorSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, 0, s.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        if (OrderStatus.BAG_FIND.getTypecode().equals(getOrderStatus())) {
            s = "\n请耐心等待";
        } else {
            s = "\n";
        }
        spb.append(s);
        foregroundColorSpan = new ForegroundColorSpan(context.getResources().getColor(R.color.text_97));
        absoluteSizeSpan = new AbsoluteSizeSpan(13, true);
        spb.setSpan(foregroundColorSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        spb.setSpan(absoluteSizeSpan, spb.toString().length() - s.length() - 1, spb.toString().length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        return spb;
    }


    public String getPaidMoneyString() {

        Double m = Double.valueOf(getPaidMoney());
        DecimalFormat df = new DecimalFormat("0.00");
        return df.format(m);
    }





}
